package com.cawring.simple.wrap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.cawring.simple.result.Model;
import com.cawring.simple.result.Result;
import com.cawring.simple.result.ViewResult;
import com.cawring.simple.result.impl.HtmlResult;

public class Controller {
	
	private HttpServletRequest request;
	private HttpServletResponse response;
	
	public void bind(Object target, Object obj)
	{
		
	}

	/**
	 * 
	 * <pre>
	 * 메소드명     : 결과값을 HTML로 표현한다.
	 * 메소드작성일 : 2014. 3. 13.
	 * 메소드설명   :
	 * 화면이 HTML일 경우 사용한다.
	 * </pre>
	 * @param path  : freemarker 파일 패스
	 * @param model : model값 - 넘길 파라미터
	 * @return
	 */
	public Result html(String path, Model model)
	{
		ViewResult html = new HtmlResult(path, model, request, response);
		return html.render();
	}
	
	/**
	 * 
	 * <pre>
	 * 메소드명     : request를 불러온다.
	 * 메소드작성일 : 2014. 3. 13.
	 * 메소드설명   :
	 * REQUEST 호출
	 * </pre>
	 * @return request호출
	 */
	public HttpServletRequest getRequest()
	{
		return request;
	}

	/**
	 * 
	 * <pre>
	 * 메소드명     : request를 불러온다.
	 * 메소드작성일 : 2014. 3. 13.
	 * 메소드설명   :
	 * REQUEST 값을 servlet의 simple 클래스에서 invoke
	 * </pre>
	 * @param request : request 주입
	 */
	public void setRequest(HttpServletRequest request)
	{
		this.request = request;
	}

	/**
	 * 
	 * <pre>
	 * 메소드명     : response를 불러온다.
	 * 메소드작성일 : 2014. 3. 13.
	 * 메소드설명   :
	 * RESPONSE 호출
	 * </pre>
	 * @return response호출
	 */
	public HttpServletResponse getResponse()
	{
		return response;
	}

	/**
	 * 
	 * <pre>
	 * 메소드명     : response를 주입한다.
	 * 메소드작성일 : 2014. 3. 13.
	 * 메소드설명   :
	 * RESPONSE 값을 servlet의 simple 클래스에서 invoke
	 * </pre>
	 * @param response : response 주입
	 */
	public void setResponse(HttpServletResponse response)
	{
		this.response = response;
	}
	
}
